const article = require('../../model/article');
//导入第三方模块 mongoose-sex-page 返回一个方法接收一个参数(几何构造函数) 实现分页功能
//调用该方法下的 page()获取当前页 size()获取每页展现的数据条数 display()方法客户端显示的页码数
//exec()向数据库发出查询请求
const pagination = require('mongoose-sex-page');
module.exports = async(req, res) => {
    let page = req.query.page || 1;
    let result = await pagination(article).page(page).size(4).display(2).find().populate('User').exec();
    let str = JSON.stringify(result);
    let data = JSON.parse(str)
        // res.send(data)
        // return;
    res.render('home/default', { data, page });
}


// 在mongoose中使用populate方法关联集合时，导致模板引擎art-template 渲染报错 Unexpected token R in JSON at position 0 --笔记
// 在mongoose中使用populate方法关联集合时，导致模板引擎art-template 渲染报错 Unexpected token R in JSON at position 0
// 解决方法：1、在populate()后面加个lean()即可 lean():是告诉mongoose返回的是普通对象，而不是mongoose文档对象
// 2、.先通过JSON.stringify()这个方法将文档对象转为字符串，将他的其他属性全部格式掉，只需要留下需要的数据字符串即可！
// let str = JSON.stringify(result);
// let data = JSON.parse(str)
// res.render('home/default', { data })